package com.yuan.weike.service;

import com.yuan.weike.model.TaskEvaluation;

import java.util.List;

public interface TaskEvaluationService {

    /**
     * 添加任务评价
     *
     * @param taskEvaluation 任务评价对象
     * @return 添加后的任务评价对象
     */
    TaskEvaluation addTaskEvaluation(TaskEvaluation taskEvaluation);

    /**
     * 根据ID获取任务评价
     *
     * @param evaluationId 评价ID
     * @return 任务评价对象
     */
    TaskEvaluation getTaskEvaluationById(Long evaluationId);

    /**
     * 根据任务ID获取任务评价
     *
     * @param taskId 任务ID
     * @return 任务评价对象
     */
    TaskEvaluation getTaskEvaluationByTaskId(Long taskId);

    /**
     * 获取所有任务评价
     *
     * @return 任务评价列表
     */
    List<TaskEvaluation> getAllTaskEvaluations();

    /**
     * 根据任务ID列表获取任务评价列表
     *
     * @param taskIds 任务ID列表
     * @return 任务评价列表
     */
    List<TaskEvaluation> getTaskEvaluationsByTaskIds(List<Long> taskIds);

    /**
     * 更新任务评价
     *
     * @param taskEvaluation 任务评价对象
     * @return 更新后的任务评价对象
     */
    TaskEvaluation updateTaskEvaluation(TaskEvaluation taskEvaluation);

    /**
     * 删除任务评价
     *
     * @param evaluationId 评价ID
     * @return 是否删除成功
     */
    boolean deleteTaskEvaluation(Long evaluationId);
}